The present invention relates, in general, to the field of fibre channel switching technology. More particularly, the present invention relates to a route caching scheme for a receive port in a fibre channel switch.
Fibre Channel is a high performance, serial interconnect standard designed for bi-directional, point-to-point communications between servers, storage systems, workstations, switches, and hubs. It offers a variety of benefits over other link-level protocols, including efficiency and high performance, scalability, simplicity, ease of use and installation, and support for popular high level protocols.
Fibre channel employs a topology known as a xe2x80x9cfabricxe2x80x9d to establish connections between ports. A fabric is a network of switches for interconnecting a plurality of devices without restriction as to the manner in which the switch can be arranged. A fabric can include a mixture of point-to-point and arbitrated loop topologies.
In Fibre Channel, a channel is established between two nodes where the channel""s primary task is to transport data from one point to another at high speed with low latency. The Fibre channel switch provides flexible circuit/packet switched topology by establishing multiple simultaneous point-to-point connections. Because these connections are managed by the switches or xe2x80x9cfabric elementsxe2x80x9d rather than the connected end devices or xe2x80x9cnodesxe2x80x9d, fabric traffic management is greatly simplified from the perspective of the device.
In a fibre channel switching environment, a module within the switching element determines the appropriate route for incoming frames based upon a particular destination ID value (D_ID) located within the frame header. The D_ID identifies the exit port associated with the incoming frame. In most applications, a route lookup table provides the translation from the D_ID to the appropriate exit port.
In prior approaches, the switch dedicates a unique route lookup table to each port. Since such route lookup tables must necessarily be large to accommodate all the possible associations between the incoming frame D_ID""s and the corresponding exit ports, this approach requires a significant amount of memory.
The shared route lookup table design of the present invention provides a solution to the aforementioned problem, which is vastly superior to anything currently available. It not only provides a shared location for D_ID and exit port combinations, but it does so in an extremely efficient manner without requiring any significant design changes and with only a relatively straightforward alteration to existing processes for networking in a fibre channel switching environment.
Particularly disclosed herein is a method for routing a data frame through a fibre channel fabric. The fabric has a first switch with a plurality of ports. The ports are operative for transmitting and receiving the data frame. First a central route table is provided that is coupled to each of said plurality of ports. A data frame is received at a first port. The destination information is then extracted from the data frame. The destination information is then sent from the first port to the central route table. An association from the central route table is retrieved having an identification of a second port associated with the destination information. Finally, the association is sent from the central route table to the first port.
In another aspect, the present invention provides a fibre channel fabric having a plurality of switches. Each switch has a plurality of ports for transmitting and receiving data frames. Also provided is a control route table coupled to each of the plurality of fibre channel ports. The control route table is operative for providing a single routing table to the plurality of ports, which provides association data. The association data is the association between a destination identification and a corresponding exit port.